package com.lantian.uavmaterial.domain;

import java.util.Date;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lantian.common.core.domain.BaseEntity;
import lombok.Data;
import com.lantian.common.annotation.Excel;

/**
 * 任务载荷对象 uav_payload_camera
 * 
 * @author lantian
 * @date 2025-11-06
 */
@Data
public class UavPayloadCamera extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 任务载荷相机主键 */
    private String payloadCameraId;

    /** 产品状态 */
    @Excel(name = "产品状态")
    private String productStatus;

    /** 关联无人机ID */
    @Excel(name = "关联无人机ID")
    private String uavId;

    /** 录入厂商 */
    @Excel(name = "录入厂商")
    private String merchantBusinessLicenseNo;

    /** 用户id */
    @Excel(name = "用户id")
    private String userId;

    /** 录入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "录入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /** 价格 */
    @Excel(name = "价格")
    private Long uavPrice;

    /** 云台厂商 */
    @Excel(name = "云台厂商")
    private String gimbalManufacturer;

    /** 云台型号 */
    @Excel(name = "云台型号")
    private String gimbalModel;

    /** 相机厂商 */
    @Excel(name = "相机厂商")
    private String cameraManufacturer;

    /** 相机型号 */
    @Excel(name = "相机型号")
    private String cameraModel;

    /** 云台稳定系统 */
    @Excel(name = "云台稳定系统")
    private String gimbalGimbalStabilitySystem;

    /** 云台结构设计范围-俯仰 */
    @Excel(name = "云台结构设计范围-俯仰")
    private Long gimbalMechanicalRangeOfMotionPitchAxis;

    /** 云台结构设计范围-横滚 */
    @Excel(name = "云台结构设计范围-横滚")
    private Long gimbalMechanicalRangeOfMotionRollShaft;

    /** 云台结构设计范围-偏航 */
    @Excel(name = "云台结构设计范围-偏航")
    private Long gimbalMechanicalRangeOfMotionYawAxis;

    /** 云台可控转动范围-俯仰 */
    @Excel(name = "云台可控转动范围-俯仰")
    private Long gimbalControllableRangeOfMotionPitchAxis;

    /** 云台可控转动范围-横滚 */
    @Excel(name = "云台可控转动范围-横滚")
    private Long gimbalControllableRangeOfMotionRollShaft;

    /** 云台最大控制转速-俯仰轴 */
    @Excel(name = "云台最大控制转速-俯仰轴")
    private Long gimbalMaximumControlRotationSpeedPitchAxis;

    /** 云台最大控制转速-横滚轴 */
    @Excel(name = "云台最大控制转速-横滚轴")
    private Long gimbalMaximumControlRotationSpeedRollShaft;

    /** 云台角度抖动量 */
    @Excel(name = "云台角度抖动量")
    private Long gimbalAngularJitter;

    /** 影像传感器_尺寸 */
    @Excel(name = "影像传感器_尺寸")
    private Long cameraSensorSize;

    /** 影像传感器_像素 */
    @Excel(name = "影像传感器_像素")
    private Long cameraSensorPixel;

    /** 影像传感器_类型 */
    @Excel(name = "影像传感器_类型")
    private Long cameraSensorType;

    /** 镜头_视角 */
    @Excel(name = "镜头_视角")
    private Long lensPerspective;

    /** 镜头_焦距 */
    @Excel(name = "镜头_焦距")
    private Long lensFocalLength;

    /** 镜头_光圈 */
    @Excel(name = "镜头_光圈")
    private String lensAperture;

    /** 镜头_对焦点 */
    @Excel(name = "镜头_对焦点")
    private String lensFocus;

    /** ISO 范围 */
    @Excel(name = "ISO 范围")
    private String isoRange;

    /** 快门速度 */
    @Excel(name = "快门速度")
    private String shutterSpeed;

    /** 最大照片尺寸-长 */
    @Excel(name = "最大照片尺寸-长")
    private Long maxPhotoResolutionLong;

    /** 最大照片尺寸-宽 */
    @Excel(name = "最大照片尺寸-宽")
    private Long maxPhotoResolutionWidth;

    /** 图片格式 */
    @Excel(name = "图片格式")
    private String photoFormats;

    /** 录像分辨率 */
    @Excel(name = "录像分辨率")
    private String videoResolution;

    /** 视频格式 */
    @Excel(name = "视频格式")
    private String videoFormats;

    /** 视频最大码率 */
    @Excel(name = "视频最大码率")
    private Long maxVideoBitrate;

    /** 支持文件系统 */
    @Excel(name = "支持文件系统")
    private String cameraSupportedFileSystems;

    /** 色彩模式 */
    @Excel(name = "色彩模式")
    private String cameraColorProfile;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String cameraDigitalZoom;

    /** 图片保存路径 */
    @Excel(name = "图片保存路径")
    private String uavImagePath;

    /** 保存草稿 */
    @Excel(name = "保存草稿")
    private String saveDraft;

    /** 文件上传 */
    @Excel(name = "文件上传")
    private Map fileData;
}
